package com.ai.ubssapp.util;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import net.sf.json.JSONObject;

import com.ai.ubssapp.bean.RespInfo;

/**
 * 请求响应参数转换工具类
 * @author xmh
 *
 */
public class ParamTool {

	/**
	 * 密文的请求参数转换成明文的请求参数，并且转换成map形式
	 * @param inParam
	 */
	public static Map<String, Object> transReqParam(Map<String, Object> inParam){
		String reqParamStr = (String)inParam.get("reqParam"); //前端app把所有请求参数des加密的密文
		//String newParamStr = DesUtils.strDec(reqParamStr); //解密完的String形式的json
		String newParamStr = DesUtils.dec2(reqParamStr); //解密完的String形式的json
		Map<String, Object> newParam = new HashMap<String, Object>(); //转换成最终的map形式参数
		
		JSONObject jsonObject = JSONObject.fromObject(newParamStr);
		Iterator it = jsonObject.keys();
		//遍历put到新的 newParam里面
		while(it.hasNext()){
			String key = String.valueOf(it.next());  
	        String value = String.valueOf(jsonObject.get(key));  
			newParam.put(key, value);
		}
		
		return newParam;
	}
	
	/**
	 * 明文的响应转换成密文的响应
	 * @param inParam
	 */
	public static String transRespInfo(String respInfo){
		//String newRespInfo = DesUtils.strEnc(respInfo); //加密
		String newRespInfo = DesUtils.enc2(respInfo); //加密
		return newRespInfo;
	}
	
	/**
	 * 明文的响应转换成密文的响应
	 * @param respInfo
	 */
	public static String transRespInfo(RespInfo respInfo){
		JSONObject jsonObject = JSONObject.fromObject(respInfo);
		//return DesUtils.strEnc(jsonObject.toString());//转成string然后加密
		return DesUtils.enc2(jsonObject.toString());//转成string然后加密
	}
	
//	/**
//	 * 明文的响应转换成密文的响应
//	 * @param svcCont
//	 */
//	public static String transRespInfo(SvcCont svcCont){
//		JSONObject jsonObject = JSONObject.fromObject(svcCont);
//		return DesUtils.strEnc(jsonObject.toString());//转成string然后加密
//	}
	
//	/**
//	 * 明文的响应转换成密文的响应
//	 * @param svcCont
//	 */
//	public static String transRespInfo(SvcContPerNumResp svcCont){
//		JSONObject jsonObject = JSONObject.fromObject(svcCont);
//		return DesUtils.strEnc(jsonObject.toString());//转成string然后加密
//	}
	
}
